In proposed next generation networks, such as the so-called fifth generation (5G) networks, some network functions are expected to be virtualized and implemented as network functions executing at computing resource locations available at multiple physical locations across the network. In networks implementing function virtualization, network functionality can be adaptable and flexible as network functions that are defined and implemented through software-based network functions may be deployed, or re-deployed, as necessary to provide changing functionality depending upon current requirements.
The combination of the network, and the computing resources available across the network, may be referred to as a network cloud environment. Network Function Virtualization (NFV) and cloud computing require the ability to create distributed network functions that operate, and interoperate, at multiple physical and logical locations across the network cloud environment.
While functions can be logically distributed across a network cloud environment, in practice they are being executed by individual computing elements that are subject to practical limitations. A function that operates without fault at one location may not operate as expected at another location due to limitations experienced at the other location. Current debugging tools and methods, necessitate a laborious trial and error process to attempt to identify the reason that a function is not performing as expected at a new location after it worked properly at a first location. Prior methods for debugging are generally limited to manual trial and error testing, ping testing, and network orchestrators that query network status indicators. The difficulty with these approaches is that the prior debugging tools tend to provide indirect indicators related to general network presence and availability.
These prior art methods generally involve deploying and activating a function into an active network cloud environment and observing how it operates, as well as its effect on the network once the function has been deployed and activated. For instance, a typical debugging operation will involve deploying a single process and observing live functionality, or deploying two processes and monitoring a communication path between the two processes.
A problem faced with deploying and activating network functions, and especially distributed network functions, in a network cloud environment is that successfully debugging a problem is difficult when a function does not perform as expected. In some cases, the problem may be a fault in the function itself. In other cases, the problem may be a deployment-related fault. Differentiating between function-inherent faults and deployment-related faults is a time-consuming process.
There are many reasons that a network function may not operate as expected after deployment, including: insufficient memory at the deployment location, limited CPU resources at the deployment location, incorrect hardware versions, incorrect virtual network, incorrect physical networking, incorrect Operating System (OS) kernel settings, etc.
Distributed network functions exacerbate the complexity of the problem as a set of distributed network functions must work together and interoperate, while each of the distributed network functions is located within a separate virtual and/or physical environment from the other functions. While ideally all computing elements within a network would be identical, in practice computing elements are deployed in different locations and at different times. This leads to practical limitations in that hardware versions, operating system versions, software versions may vary from location to location, and different locations may experience different levels of network and/or computational load. As a result, function interaction with different computing environments at each deployment location can be the cause of network cloud environment impairments. It would be useful to have a system and method for identifying deployment-related faults either in advance, or after deployment of the distributed network functions.
Another problem faced with deploying and activating network functions, is that it may be difficult to determine in advance whether the function will actually operate as expected. Given that deployment of a function within a live network possible negative results including poor function performance may impair other network operations leading to complications and downtime. While a deployed network function may appear to work normally, its deployment may impair other aspects of the network cloud environment. As the deployed network function does not appear impaired to an administrator, it may be a difficult task to trace down its deployment as the cause of impairments in the network cloud environment. It would be useful to have a system and method for identifying deployment-related faults that operates in parallel with deployment of a network function, to assist in identifying network cloud environment impairments that may arise due to its deployment.
Therefore, there is a need for systems and methods that are not subject to one or more limitations of the prior art.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present application. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present application.